package mc.web.validators;

import mc.domain.Lekarz;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import org.apache.commons.lang.StringUtils;

public class LekarzValidator implements Validator {

	private final Log logger = LogFactory.getLog(getClass());
	
	
	public boolean supports(Class arg0) {
		return arg0.equals(Lekarz.class);
	}

	public void validate(Object arg0, Errors errors) {
			
			Lekarz lekarz = (Lekarz) arg0;
			
				logger.info("sprawdzam lekarza o imieniu "+lekarz.getImie());
			
	//lipa z nullami ValidationUtils.rejectIfEmpty(errors, "imie", "error.imie.empty");
			
			
			if (lekarz.getImie() == null){
				errors.rejectValue("imie","error.pole.empty");
			}
			
			if (lekarz.getNazwisko() == null){
				errors.rejectValue("nazwisko","error.pole.empty");
			}
			
			if (!(StringUtils.isNumeric(lekarz.getPesel())) || lekarz.getPesel().length() != 11){
				
				errors.rejectValue("pesel", "error.pesel.bledny");
			}
			
			if (!(StringUtils.isNumeric(lekarz.getPwz())) || lekarz.getPwz().length() != 7){
				
				errors.rejectValue("pwz", "error.pwz.bledny");
			}
			
						
	}

}
